package com.example.aacwebdemo.jdk.v9.d;

/**
 * @author zhao.xin06679
 * @date 2021年06月29日 15:03
 */
public class Test {

//    public void testTry1(){
//        InputStreamReader reader = null;
//        try{
//            reader  = new InputStreamReader(System.in);
//            //读取数据的过程：略
//            reader.read();
//        }catch (IOException e){
//            e.printStackTrace();
//        }finally{
//            //资源的关闭操作
//            if(reader != null){
//                try {
//                    reader.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//
//    }
//
//    //java 8 中：要求资源对象的实例化，必须放在try的一对()内完成。
//    public void testTry2(){
//        try(InputStreamReader reader = new InputStreamReader(System.in)){
//            //读取数据的过程：略
//            reader.read();
//        }catch(IOException e){
//            e.printStackTrace();
//        }
//    }
//
//    // java 9 中，用资源语句编写 try 将更容易，我们可以在 try 子句中使用 已经初始化过的资源，此时的资源是 final 的：
//    //如下的操作不可以在jdk 8 及之前的版本中使用
//   //java 9 中：可以在try()中调用已经实例化的资源对象
//    public void testTry3(){
//        InputStreamReader reader = new InputStreamReader(System.in);
//        OutputStreamWriter writer = new OutputStreamWriter(System.out);
//        try(reader;writer){//多个资源用 ; 隔开即可
//            //此时的reader是final的，不可再被赋值
////            reader = null;
//            //读取数据的过程：略
//            reader.read();
//        }catch(IOException e){
//            e.printStackTrace();
//        }
//    }

}
